package com.youdoneed.community.forum.vo;

import java.util.Date;
import java.util.List;

import com.youdoneed.community.media.entity.Forummediaresource;
import io.swagger.annotations.ApiModelProperty;

/**
 * 创建帖子vo类
 * @author lid
 * @date 2017.7.6
 */
public class CreateMsgVo {
	
	/**
     * 用户id
     */
    private String userId;
    
    /**
     * 用户昵称
     */
    private String nickName;
    
    /**
     * 用户头像
     */
    private String userHeadUrl;

    /**
     * 用户类型  可以是个人，广告，或者是业务号
     */
    private String userType;

    /**
     * 消息类型
     * 可以是发表猿圈，或者是问答
     * 消息类型(msg：帖子，shareMsg：分享的帖子，shareNews；分享的新闻；shareGroup，分享的小组；shareVideo，分享的视频;
	 *  短视频：shortVideo， 分享的短视频： shareShortVideo)
     */
    private String msgType;

	/**
	 * 消息来源类型
	 * 点赞帖：likePointMsg，群组贴:groupMsg，
	 */
	private String msgSourceType;
    
    /**
     * 消息内容
     */
    private String msgContent;

    /**
     * 发送位置经度
     */
    private Double userLongitude;

    /**
     * 发送位置纬度
     */
    private Double userLatitude;

    /**
     * 位置标签
     */
    private String postionLabel;

	@ApiModelProperty("国家")
	private String nation;

	@ApiModelProperty("省")
	private String province;

	@ApiModelProperty("市")
	private String city;

	@ApiModelProperty("区")
	private String district;
    
    /**
     * 公开状态：公开状态：0：公开；1:好友可见；2：部分好友不可见；3：部分好友可见；4，指定群组；5：仅限自己
     * @author lid
     * @date 2017.6.13
     */
    private Integer allowViewStatus;
    
    /**
     * 第一张图片的缩放比例
     */
    private String firstImageScale;
    
    /**
     * 图片布局参数
     */
    private Integer imageLayoutType;
    
    /**
     * 源id（分享的帖子、组、直播、新闻等内容的主键id）
     */
    private String sourceId;

    /**
     * 包含的标签的id列表（发表帖子的时候作为参数传入）
     */
    private List<String> listMsgLabelIds;
    
    /**
     * 用户自定义标签名称
     */
    private String userDefineLabel;


    /**
     * 媒体资源列表
     */
    private List<Forummediaresource> listForummediaresource;
    
    /**
     * 隐私设置的用户名单
     */
    private List<String> listUserId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间！注：用户发帖该参数为null，系统发帖可以指定帖子的创建时间")
	private Date createDate;

	/**
	 * 翻译字段
	 */
	@ApiModelProperty(value = "翻译字段")
	private String msgLanguage;

	/**
	 * 用户职业
	 */
	@ApiModelProperty(value = "用户职业")
	private String jobName;

	@ApiModelProperty(value = "@提醒的用户")
	private List<String> noticeUserIds;

	public List<String> getNoticeUserIds() {
		return noticeUserIds;
	}

	public void setNoticeUserIds(List<String> noticeUserIds) {
		this.noticeUserIds = noticeUserIds;
	}

	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public String getUserHeadUrl() {
		return userHeadUrl;
	}

	public void setUserHeadUrl(String userHeadUrl) {
		this.userHeadUrl = userHeadUrl;
	}

	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}

	public String getMsgType() {
		return msgType;
	}

	public void setMsgType(String msgType) {
		this.msgType = msgType;
	}

	public String getMsgContent() {
		return msgContent;
	}

	public void setMsgContent(String msgContent) {
		this.msgContent = msgContent;
	}

	public Double getUserLongitude() {
		return userLongitude;
	}

	public void setUserLongitude(Double userLongitude) {
		this.userLongitude = userLongitude;
	}

	public Double getUserLatitude() {
		return userLatitude;
	}

	public void setUserLatitude(Double userLatitude) {
		this.userLatitude = userLatitude;
	}

	public String getPostionLabel() {
		return postionLabel;
	}

	public void setPostionLabel(String postionLabel) {
		this.postionLabel = postionLabel;
	}

	public Integer getAllowViewStatus() {
		return allowViewStatus;
	}

	public void setAllowViewStatus(Integer allowViewStatus) {
		this.allowViewStatus = allowViewStatus;
	}

	public String getFirstImageScale() {
		return firstImageScale;
	}

	public void setFirstImageScale(String firstImageScale) {
		this.firstImageScale = firstImageScale;
	}

	public Integer getImageLayoutType() {
		return imageLayoutType;
	}

	public void setImageLayoutType(Integer imageLayoutType) {
		this.imageLayoutType = imageLayoutType;
	}
	
	public String getSourceId() {
		return sourceId;
	}

	public void setSourceId(String sourceId) {
		this.sourceId = sourceId;
	}

	public List<String> getListMsgLabelIds() {
		return listMsgLabelIds;
	}

	public void setListMsgLabelIds(List<String> listMsgLabelIds) {
		this.listMsgLabelIds = listMsgLabelIds;
	}

	public List<Forummediaresource> getListForummediaresource() {
		return listForummediaresource;
	}

	public void setListForummediaresource(List<Forummediaresource> listForummediaresource) {
		this.listForummediaresource = listForummediaresource;
	}

	public String getUserDefineLabel() {
		return userDefineLabel;
	}

	public void setUserDefineLabel(String userDefineLabel) {
		this.userDefineLabel = userDefineLabel;
	}

	public List<String> getListUserId() {
		return listUserId;
	}

	public void setListUserId(List<String> listUserId) {
		this.listUserId = listUserId;
	}

	public String getMsgSourceType() {
		return msgSourceType;
	}

	public void setMsgSourceType(String msgSourceType) {
		this.msgSourceType = msgSourceType;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getMsgLanguage() {
		return msgLanguage;
	}

	public void setMsgLanguage(String msgLanguage) {
		this.msgLanguage = msgLanguage;
	}


	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getDistrict() {
		return district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}
}
